package com.itheima.d01_map_method;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import java.util.Set;

/**
 * 目标：掌握Map集合的常用方法。
 */
public class Test {

    public static void main(String[] args) {
        //1.创建Map集合/容器
        Map<String,Integer> map = new HashMap<>();

        //2.添加数据：put(key,value)
        map.put("田七", 17);
        map.put("田七", 27); //特点：key不能重复，重复进行覆盖
        map.put("张三", 18);
        map.put("王五", 19);
        map.put("赵六", 20);
        map.put(null,null); //特点：key允许为null
        map.put(null,666);
        System.out.println("添加数据："+map );

        //3.获取数据：value = get(key)
        //          Set集合 = keySet()
        //          Collection集合 = values()
        System.out.println("获取数据："+map.get("田七"));

        Set<String> keys = map.keySet();
        System.out.println("获取所有的key："+keys);

        Collection<Integer> values = map.values();
        System.out.println("获取所有的value："+values);

        //4.删除数据：value = remove(key)
        Integer value = map.remove("田七");
        System.out.println("删除数据："+"key=田七"+"，value="+value);

        //5.修改数据：put(key,新的value)
        map.put("张三", 28);
        System.out.println("修改数据："+map);

        //6.其他的方法
        System.out.println("数据个数："+map.size());

        map.clear();
        System.out.println("清空数据："+map);

        System.out.println("map是否是空集合："+map.isEmpty());

        System.out.println("map是否包含指定的key："+map.containsKey("张三"));
        System.out.println("map是否包含指定的value："+map.containsValue(28));

    }
}
